<?php

/*
	This file is part of Mandragon.

    Mandragon is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Mandragon is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Mandragon.  If not, see <http://www.gnu.org/licenses/>.
*/
	
require_once 'PHPUnit/Framework.php';
require_once 'autoload.php';

class TestArtPage extends PHPUnit_Framework_TestCase {
	
	function test_page_inc_check_access_with_no_access() {
		$page = new Page();

		$art_page = new ArtPage();

		$mock_access = $this->getMock('AccessManager');
		$mock_access->expects($this->once())
				->method('check_access')
				->with('READ');
		$art_page->set_access_manager($mock_access);

		$mock_error_nav = $this->getMock('ErrorNavigation');
		$mock_error_nav->expects($this->once())
				->method('errorpage')
				->with(6);
		$art_page->set_error_navigation($mock_error_nav);

		$art_page->page_inc_check_access($page);
	}

	function test_page_inc_check_access_with_access() {
		$_SESSION['user_id'] = 12345;

		$page = new Page();

		$art_page = new ArtPage();

		$mock_access = $this->getMock('AccessManager');
		$mock_access->expects($this->once())
				->method('check_access')
				->with('READ');
		$art_page->set_access_manager($mock_access);

		$mock_error_nav = $this->getMock('ErrorNavigation');
		$mock_error_nav->expects($this->never())
				->method('errorpage');
		$art_page->set_error_navigation($mock_error_nav);

		$art_page->page_inc_check_access($page);
	}
}

?>
